package com.ydj.framework.utils;

import org.apache.commons.lang3.StringUtils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 正则工具类
 */
public class RegexUtils {
    /**
     * 判断是否手机号
     *
     * @param mobile    手机号
     * @return
     */
    public static boolean isMobile(String mobile) {
        if (!StringUtils.isBlank(mobile)) {
            String regex = "^1\\d{10}$";
            return mobile.matches(regex);
        } else {
            return false;
        }
    }

    /**
     * 判断是否邮箱
     *
     * @param email 邮箱
     * @return 是否
     */
    public static boolean isEmail(String email) {
        if (!StringUtils.isBlank(email)) {
            String regex = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
            return email.matches(regex);
        } else {
            return false;
        }
    }

    /**
     * 判断是否只包含字母、数字或中文
     *
     * @param str 字符串
     * @return 是否
     */
    public static boolean isCharAndNumAndChinese(String str) {
        if (!StringUtils.isBlank(str)) {
            String regex = "^[a-zA-z0-9\\u4E00-\\u9FA5]*$";
            return str.matches(regex);
        } else {
            return false;
        }
    }

    /**
     * 判断是否只包含中文
     *
     * @param str
     * @return
     */
    public static boolean isChese(String str) {
        if (!StringUtils.isBlank(str)) {
            String regex = "^[\\u4E00-\\u9FA5]*$";
            return str.matches(regex);
        } else {
            return false;
        }
    }

    public static long getNumbers(String content) {
       Pattern pattern = Pattern.compile("\\d+");
       Matcher matcher = pattern.matcher(content);
       if (matcher.find()) {
           String strResult = matcher.group(0);
           try {
               return Long.parseLong(strResult);
           } catch (Exception ignored) {
           }
       }
       return 0;
   }  

}